package com.ruoyi.web.petmall.pethome.service;

import com.ruoyi.web.petmall.entity.AddressEntity;
import com.ruoyi.web.petmall.entity.UserEntity;

import java.util.List;

/**
 * 用户信息服务接口，定义了与用户信息相关的业务操作。
 */
public interface UserInfoService {

    /**
     * 获取当前用户的个人信息。
     *
     * @return 当前用户信息的列表。
     */
    List<UserEntity> getUserInfo();

    /**
     * 更新用户的个人信息。
     *
     * @param userEntity 包含更新信息的用户实体。
     */
    void updateUserInfo(UserEntity userEntity);

    /**
     * 获取当前用户的地址信息。
     *
     * @return 当前用户地址信息的列表。
     */
    List<AddressEntity> getUserAddress();

    /**
     * 添加新的地址信息。
     *
     * @param addressEntity 包含地址信息的地址实体。
     */
    void addUserAddress(AddressEntity addressEntity);

    /**
     * 更新现有的地址信息。
     *
     * @param addressEntity 包含更新信息的地址实体。
     */
    void updateUserAddress(AddressEntity addressEntity);

    /**
     * 删除指定的地址信息。
     *
     * @param id 要删除的地址ID。
     */
    void delUserAddress(Long id);
}
